Цөмийн API
Not Revised 3.11. SYS_IOPENABLE. Төв процессорын систем нь идэвхтэй ажиллаж байгаа үед эрэмбэлэгдсэн битүүд оролт гаралтын төхөөрөмж рүү өгөддөг. Энэ нь Оролт гаралтын төхөөрөмжийн хүлээн зөвшөөрөгдсөн үйлдэл юм. request parameters /Утга оноох параметр/ IO_ENDPT: Орол гаралтанд утга оноох функц return value /Үр дүнг харах мөр/ OK: Always succeeds. /Амжилттай боллоо/ library functions /Функцүүдийн эх сан/ int sys_enable_iop(endpoint_t proc); 3.12. SYS_IRQCTL Hardware-ийн бэлэн эсвэл дахин эхлэх төлөвт байх үеийн тасалдалыг IRQ суваг шалгадаг ба тасалдалыг идэвхтэй болгох ба хаах шугам юм. Түүнийг дуудахад идэвхтэй ажиллаж буй төхөөрөмжийн driver болон Кернелийн тасалдалыг хамт ажилладаг. Кернелийн тасалдал зөвхөн мэдүүлэх драйвер болон тасалдалын тухай HARD_INT мэдээллийг илгээхийн хамт IRQ шугамыг дахин эхлүүлэх төлөвт болгох ба энэ нөхцөл мэдээлэл ирсэн тохиолдолд л үүсдэг. Энэхүү тодорхойлёон мэдээлэл нь ID-г агуулах ба дуудлагын аргументийг агуулаж байдаг. Зарим нэг тохиолдолд драйвер нь тасалдалыг хаах, идэвхжүүлэх төлөвийг удирдаж чаддаг. request parameters /Утга оноох параметр/ IRQ_REQUEST: /Тасалдалыг шалгах үйлдэлийг тодорхойлох/ • IRQ_SETPOLICY: Тасалдалыг шалгах • IRQ_RMPOLICY: Устгах, Тасалдалын төлөвийг шалгах • IRQ_ENABLE:. IRQ шугамаар идэвхтэй болгох • IRQ_DISABLE: IRQ шугамыг идэвхгүй болгох IRQ_VECTOR: IRQ шугамыг ажиллагааг шалгах IRQ_POLICY: Битийн дараалал болон төрдийг шалгах IRQ_HOOK_ID:Тасалдал болон дуудлагын явуулсан мэдээлийг хэзээ хийгдсэнийг тодорхойлно. Бусад утга нь кернелээр дахин тодорхойлогдоно. response parameters /Хариу илгээх параметр/ IRQ_HOOK_ID: /Кернелийн утгыг драйвертай хамт тодорхойлох / return value /үр дүнг харуулах функцүүд / EINVAL: Идэвхгүй хүсэлт, IRQ шугам, Үйлдэлийн дугаар EPERM: Ганцхан эзэмшигч болон Hook-ийн тасалдалийг эсвэл hook-nai илтгэнэ. ENOSPC: IRQ-ийн суурийг чөлөөлж чадсан эсэхийг заах OK: Амжилттай утга оноогдсон. library functions / Функцүүдийн эх сан/ int sys_irqctl(int request, int irq_vec, int policy, int *hook_id); int sys_irqsetpolicy(int irq_vec, int policy, int *hook_id); int sys_irqrmpolicy(int *hook_id); int sys_irqenable(int *hook_id); int sys_irqdisable(int *hook_id); 3.13. SYS_KILL Сигнал нь толгой системийн ажиллагааг тодорхойлно. Системийн ажиллагаа нь сигнал болон үйлдэлийн шаардлагын хамт илэрхийлж чаддаг. Кернелийг мэдэгдэхэд эхнээс нь PM-ийн тухай сигналыг өгөх ба дараа нь мэдээлдэг. Системийн ажиллагааг мэдээлэх сигналыг явуулахад PM-ийн шууд дуудаж ашигладаг. Энэхүү тохиолдол нь системээс мэдээлэл хэзээ ирсэнийг тодорхойлох ба онцгой тохиолдолд SIG_MESS нь хандлерийн сигнал POSIX-call –тай хамт хэрэглэгддэг. request parameters SIG_ENDPT: Процессийн сигнал SIG_NUMBER: Сигналын дугаар, 0- оос аваад мөрлөж -NSIG return value /Үр дүнг харах мөр/ OK: Дуудлага амжилттай боллоо. EINVAL: Хорилогдсон/нууц/ үйлдэл эсвэл сигналын дугаар EPERM: Кернелээс ирсэн сигнал явж чадахгүй байх. PM сигнал хэрэглэгч процессийн мэдээний хамт тодорхойлогдохгүй байх. library functions / Функцүүдийн эх сан// int sys_kill(endpoint_t proc_nr, int sig_nr); 3.14. SYS_MAPDMA request parameters баримтгүй байна. (to be documented) response parameters (to be documented) return value (to be documented) library functions (to be documented) 3.15. SYS_MEMSET Бичихдээ 4 битээр загварчлагдаж санах ойн талбарт тодорхойлогдоно. Дуудлага нь PM болон POSIX-call дээр байх BSS хэсгийн 0-ийг ашигладаг. Кернел нь ажлын гүйцэтгэлийн учир шалтгааныг шалгадаг. request parameters /Утга оноох параметр/ MEM_PTR: Санах ойн талбарын Физик муж/бааз-ийн хаяг MEM_COUNT: Санах ойн талбарт эзлэх байтын уртын хэмжээ MEM_PATTERN: Байтын бичигдсэн загвар return value /Үр дүнг харах мөр/ OK: Дуудлага амжилттай боллоо. library functions /Функцүүдийн эх сан/ int sys_memset(long pattern, phys_bytes base, phys_bytes length); 3.16. SYS_NEWMAP Суулгах процесс нь санах ойн шинэ мужид салаалан явагдах ба процессийн санах ойн байрлалыг өөрчилж болдог. request parameters /Утга оноох параметр/ PR_ENDPT: Тухайн үйлдэлийн суулгах шинэ байрлал PR_MEM_PTR: Санах ойн байрлалын чиглүүлэгч return value /Үр дүнг харах мөр/ OK: Шинэ байрлалд амжилттай суулгасан EFAULT: Санах ойн шинэ байрлалын хаягийг заах EINVAL: Хүчингүй процессийн дугаар library functions / Функцүүдийн эх сан / int sys_newmap(endpoint_t proc_nr, struct mem_map *ptr); 3.17. SYS_NICE Процессийн ээлж дугаарыг өөрчлөнө. Энэхүү өөрчлөлт нь түр зуурын бөгөөд PRIO_MIN/сөрөг/ болон PRIO_MAX/эерэг/-ийн хооронд утга нь өөрчлөгдөнө. Утгын муж нь эхлэхдээ тогтмол 0 гэсэн утгаас эхэлдэг байна. Утгын мужид PRIO_STOP гэж байх бөгөөд дараагийн процесс болоход ээлж дарааллыг шинэжилдэг. request parameters /Утга оноох параметр/ PR_ENDPT: Процессийн ээлж дараалалыг хүсэлтээр өөрчлөх PR_PRIORITY: Шинэ утгын муж дахь процессийн ээлж дараалал return value /Үр дүнг харах мөр/ OK: Ээлж дараалал амжилттай болсон EINVAL: Ээлж дарааллыг дугаар EPERM: Кернелийн ээлж дарааллыг өөрчилж чадахгүй байх library functions /Функцүүдийн эх сан/ int sys_nice(endpoint_t proc_nr, int priority); 3.18. SYS_PHYSCOPY Мэдээллийг хуулахад физик хаягийг хэрэглэдэг. Эх сурвалж болон зориулалтын хаяг болох виртуаль хаяг SYS_VIRCOPY ийг тодорхойлж чадна. Гэвч нэмэлт функц болох физик хаяг нь PHYS_SEG-ийг хамт зөвшөөрсөн байх ёстой. request parameters /Утга оноох параметр/ CP_SRC_SPACE: Эх сурвалжийн хэсэг CP_SRC_ADDR: Эх сурвалуийн виртуал хаяг CP_SRC_ENDPT: Эх сурвалжийн процессийн дугаар CP_DST_SPACE: Зориулагдсан хэсэг CP_DST_ADDR: Зориулагдсан виртуал хаяг CP_DST_ENDPT: Зориулагдсан процессийн дугаар CP_NR_BYTES: Хуулсан байтын дугаар return value /Үр дүнг харах мөр/ OK: Хуулж дууссан EDOM: Нийт дүнг хуулах EFAULT: Виртуал орон зайн Физик байрлалыг олох EINVAL: Процессийн дугаар болон төрлийг тодорхойлох EPERM:. Зөвхөн эзэмшигчийн REMOTE_SEG –ээс хуулж чадах library functions int sys_abscopy(phys_bytes src_phys, phys_bytes dst_phys, phys_bytes count); int sys_physcopy(endpoint_t src_proc, int src_seg, vir_bytes src_vir, endpoint_t dst_proc, int dst_seg, vir_bytes dst_vir, phys_bytes count); 3.19. SYS_PHYSVCOPY Мэдээллийн багцаар олноор нь хуулахад физик хаягийг ашигладаг. Утгын мужийн чиглүүлэгч нь дуудагчийг заадаг ба элемент нэг бүр нь жинхэнэ SYS_PHYSCOPY утга болдог. Хуулалтыг үргэлжлүүлэх хүртэл бүх элементийг боловсруулах эсвэл тохиолдох алдааг тодорхойлдог байна. request parameters /утга оноох параметр/ VCP_VEC_SIZE: Утга оноох вектор доторх элементийг дугаарыг заана. VCP_VEC_ADDR: Дуудлагын векторын виртуаль хаяг утгыг тодорхойлох response parameters /Хариу илгээх параметр/ VCP_NR_OK:.Элементийн дугаар амжилттай хуулагдсан. return value /Үр дүнг харах мөр/ OK: Хуулж дууссан EDOM: Нийт дүнг хуулах EFAULT: Виртуал орон зайн Физик байрлалыг олох EINVAL:. Их мэдээллийн векторыг хуулах, сегмент эсвэл процессийн эвдрэлийг илэрхийлэх EPERM: Зөвхөн эзэмшигчийн REMOTE_SEG –ээс хуулж чадах library function /Функцийн эх сан/ int sys_physvcopy(phys_cp_req *copy_vec, int vec_size, int *nr_ok); 3.20. SYS_PRIVCTL Бүтцийг давуу эрхтэйгээр мэдэгдэх болон процессийн эрэмбэ дараалалыг шинэчилдэг. Энэ нь системийн ажлын динамик эхлэл болгож ашигладаг. request parameters /Утга оноох параметр/ CTL_ENDPT: Процессийн эрэмбэ дараалалыг шинэчлэх CTL_REQUEST: Утгыг эрэмбэлж өөрчлөх • SYS_PRIV_INIT:. Системийн процессийг эрэмбэлж өгөх • SYS_PRIV_USER: Хэрэглэх процессийг эрэмбэлж өгөх • SYS_PRIV_ADD_IO: Процессийн эх сурвалжийн оролт гаралтанд мөр нэмэх • SYS_PRIV_ADD_MEM: Процессийн эх сурвалжийн санах ойд мөр нэмэх • SYS_PRIV_ADD_IRQ: Процессийн эх сэрвалжид IRQ нэмэх CTL_ARG_PTR: Утгын аргументийн чиглүүлэгч return value OK: Дуудлага амжилттай боллоо. EINVAL: Процессийн дугаар, утга, эсвэл аргумент ENOSPC: Бүтцийн суурь болон эрэмбэ дараалал EPERM: Resources -г хэрэглэгчийн үйл явцуудад нэмэхгүй ENOMEM: Энэ нөөцөд бэлэн хадгалалт үгүй Сангийн функцүүд int sys_privctl(endpoint_t proc, int req, void *p); 3.21. SYS_PROFBUF Хүсэлтийн параметр (баримтаар нотолно) Хариултын параметр (баримтаар нотолно) Утгыг буцаана (баримтаар нотолно) Сангийн функцүүд int sys_profbuf(void *ctl_ptr, void *mem_ptr); 3.22. SYS_READBIOS Хүсэлтийн параметр (баримтаар нотолно) Хариултын параметр (баримтаар нотолно) Утгыг буцаана (баримтаар нотолно) Сангийн функцүүд int sys_readbios(phys_bytes address, void *buf, size_t size); 3.23. SYS_RUNCTL Удирдах үйл явц PROC STOP плаг байна. Үйл явцад менежмент хэрэглэх. (by PM). Ерөнхийдөө зогсох эсвэл дохионы хянагчийг бэлдэх зорилгоор хийсэн killed гэж байх үйл явц болиулна. Дохионы хянагчийг зогсоход RC DELAY -н плаг ханган нийлүүлнэ. This means that if the process is queued sending a message, or stopped for system call tracing, then this call will, instead of stopping the process, return EBUSY and later send a SIGNDELAY pseudo-signal to the process when it has been established that this process will not send a message anymore. Энэ үйл явц anymore мэдээг дамжуулахгүй тэр тэрийг баталгаажуулах -сан хэзээ дараа үйл явц SIGNDELAY pseudo-signal -г илгээх ба EBUSY -д буцааж байна үйл явцыг болиулах оронд , энэ дохио хүсэнэ. Тэгээд , tracing системийн дуудлагад зогссон эсвэл , үйл явц мэдээг дамжуулах жагссан бол тэр энэ байна The process never becomes actually runnable before PM eventually tells the kernel that it is done processing the SIGNDELAY (using SYS_ENDKSIG). SIGNDELAY -г боловсруулах PM өмнө runnable (гарцаагүй) эцэсд гэж цөмд хэлж байна тэрийг хийсэн үйл явц (ердөө) огт үнэн хэрэгтээ болохгүй. This "delay stop" mechanism is used by PM to make sure that no signal is delivered to a process that still has a call pending to a system server Сстемийн серверд pending тэр (хөдөлгөөнгүй) одоо болтол дохиотой байх энэ "delay stop" механизмыг дохиог үйл явцад гаргаагүй шалгах PM -д ашигладаг. Энэ -г POSIX -н хэрэгжүүлэхэд шаарддаг Хүсэлтийн параметр RC_ENDPT: Удирдах процессийн дугаар RC_ACTION:Үйл явцыг үргэлжлүүлэх эсвэл зогсох • RC_STOP: Үйл явцыг зогсооно. • RC_RESUME: Үйл явцыг үргэлжлүүлнэ RC_FLAGS: плаг хүсэх. • RC_DELAY: Хоцорсон үйл явцыг илгээж байвал зогсооно. Утгыг буцаана OK:Дуудлага амжилт гарсан EINVAL: Хүчингүй процессын дугаар EPERM: Дуудагч кернелийн зорилготой EBUSY: Олох системийн дуудлагад битүүмжилсэн эсвэл мэдээг дамжуулах үйл явцыг хаадаг процесс. Сангийн функцүүд int sys_runctl(endpoint_t proc_ep, int action, int flags); int sys_stop(endpoint_t proc_ep); int sys_delay_stop(endpoint_t proc_ep); int sys_resume(endpoint_t proc_ep); 3.24. SYS_SAFECOPYFROM Өөр процессийн зөвшөөрөгдсөн санаах ойн хэсгээс мэдээллийг өөр нэг өөрийн зайн хаягруу хуулах . Дуудагч зөвшөөрөлтэй хандалт CPF READ -тай байх ёстой. Хүсэлтийн параметр SCP_FROM_TO: Хуулах үйл явцын endpoint. SCP_INFO: Хэсгийн дотор дуудагч хуулах. SCP_GID: Зөвшөөрөгдсөн ID. SCP_OFFSET: Зөвшөөрлийн дотор байтаар эхэлж суулгана. SCP_ADDRESS: Мэдээллийг хадгалахад buffer-лэх заагч. SCP_BYTES:Хуулах байтын тоо. Утгыг буцаана OK: Дуудлага амжилттай EINVAL: Хүчингүй процессын дугаар EPERM: Муу бит -н хэмжээ эсвэл , хангалтгүй хандалт , хүчингүй тэтгэмжийн ID тайлбар SCP INFO -д , SCP MAKEINFO ба SCP INFO2SEG -н macros -г хэрэглэх Сангийн функцүүд int sys_safecopyfrom(endpoint_t source, cp_grant_id_t grant, vir_bytes grant_offset, vir_bytes my_address, size_t bytes, int my_seg); 3.25. SYS_SAFECOPYTO Ондоо процессийн зөвшөөрөгдсөн санах ойн хэсэгт , зайруу хандах зөвшөөрөлтэй нэгний мэдээллийг хуулна. Дуудагч CPF WRITE зөвшөөрөлд боломжтой байх ёстой Хүсэлтийн параметр SCP_FROM_TO:. процессийн төгсгөлийн цэгт хуулах SCP_INFO:Хэсгийн дотор дуудагч хуулах SCP_GID: Хандах эрхтэй ID . SCP_OFFSET: Грант дотор оффсэт бит эхэлнэ. SCP_ADDRESS: Заагч -н мэдээлэл хуулах SCP_BYTES: Байтийн хэмжээг хуулах Хариултын параметр (баримтаар нотолно) OK: Дуудалт амжилттай. EINVAL: Процессийн дугаар хүчингүй. EPERM: Битийн хэмжээ муу эсвэл , хангалтгүй хандалт , зөвшөөрлийн ID хүчингүй тайлбар SCP_INFO-д, SCP_MAKEINFO ба SCP_INFO2SEG макро хэрэглэнэ. Сангийн функцүүд int sys_safecopyto(endpoint_t dest, cp_grant_id_t grant, vir_bytes grant_offset, vir_bytes my_address, size_t bytes, int my_seg); 3.26. SYS_SDEVIO Хэрэглэгчийн төхөөрөмжийн суурийн зайны өмнөөс I/O -н төхөөрөмж гүйцэтгэнэ. Энэ дуудлага ерөнхийдөө зөвхөн бит ба үгийг дэмжихийг (бичиж авах) тэмдэглэнэ. Драйвер бүх завсрын хэсгийн оролт эсвэл гаралт хүсэж чадна. Бас SYS DEVIO ба SYS VDEVIO –н кернелийн дуудлагуудыг харна. Хүсэлтийн праметер DIO_REQUEST: Плагууд юу хийхийг илэрхийлж байна. • _DIO_INPUT: өгөгдсөн портоос нэг эсвэл илүү их утгуудыг унших • _DIO_OUTPUT: Өгөгдсөн портод нэг эсвэл илүү утгууд бичих. • _DIO_BYTE: байт утгууд Унших/бичих • _DIO_WORD:. Үгээр Унших/бичих • _DIO_LONG: long утгыг Унших/бичих • _DIO_SAFE:Тусгай зөвшөөрлийн хаяг байна DIO_PORT: Бичих эсвэл унших порт DIO_VEC_ENDPT: Буффер байгаа процессийн дугаар DIO_VEC_ADDR: Завсрын хэсэг , эсвэл зөвшөөрлийн ID -н виртуаль хаяг DIO_VEC_SIZE:. Оролт эсвэл гаралтад хэсгүүдийн тоо DIO_OFFSET: Offset -д тэтгэмж Хариултын параметр OK:Портын I/O -г амжилттай хийсэн EINVAL: Процессийн дугаар хүчингүй. EPERM: Кернелийн зорилгот дохио өгж чадсангүй. EFAULT: Багц бүтцийн хаяг хүчингүй эсвэл дохионы хүрээг хуулбарлаж болохгүй Сангийн функцүүд int sys_insb(port_t port, u8_t buffer, int count); int sys_insw(port_t port, u16_t buffer, int count); int sys_outsb(port_t port, u8_t buffer, int count); int sys_outsw(port_t port, u16_t buffer, int count); int sys_safe_insb(port_t port, endpoint_t proc_nr, void *grant, int count, u16_t buffer); int sys_safe_insw(port_t port, endpoint_t proc_nr, void *grant, int count, u16_t buffer); int sys_safe_outsb(port_t port, endpoint_t proc_nr, void *grant, int count, u16_t buffer); int sys_safe_outsw(port_t port, endpoint_t proc_nr, void *grant, int count, u16_t buffer); int sys_sdevio(int req, long port, endpoint_t proc_nr, void *buffer, int count, vir_bytes offset); 3.27. SYS_SEGCTL Түүний санах ойн зураг ба process' -н LDT -д санах ойн хэсгийг нэмнэ. SYS VIRCOPY -н цөмийн дуудахтай тэр санах ойн зурагт жагсаалт шиг хэрэглэсэн , шууд санах ойн хэсэгт хүрэх байсан тэр хоолой ба дуудлага солигчийг буцаана. Удаан биш хэрэглэнэ. Хүсэлтийн параметр SEG_PHYS: Сегментийн физик хаягийн сан SEG_SIZE: Сегментийн хэмжээ Хариултын параметр SEG_INDEX: Алсын санах ойн зурагт Index оруулах SEG_SELECT: LDT -н ороход Segment солигч SEG_OFFSET: Сегментийг нөхөх, Тэг ба 4K багагүй бол хэрэглэгдэнэ ENOSPC: Санах ойн зураг ба LDT-д чөлөөтэй зайгүй байна: OK: Segment descriptor –амжиттай нэмсэн Сангийн функцүүд int sys_segctl(int *index,u16_t *seg,vir_bytes *off,phys_bytes phys,vir_bytes size); 3.28. SYS_SETALARM Синхрон дохионы цаг хэмжигчийг дахин тохируулах эсвэл тавих .Цаг хэмжигч дуусахад дуудагчруу одоогийн цагтай утга шиг SYN ALARM -н мэдэгдлийн мэдээг явуулна.. Зөвхөн системийн процессууд синхрон түгшүүрүүд хүсэж чадна Хүсэлтийн параметр ALRM_EXP_TIME: Жинхэнэ эсвэл харьцангуй дуусахын хугацаанд цохилох түгшүүрт дуунууд. ALRM_ABS_TIME: Zero дуусах бол цаг одоогийн цагтай хамаатай байх Хариулт параметр ALRM_TIME_LEFT: Өмнөх сэрүүлэгт явсан цохилох дуунууд Буцаах утга OK: Дохиололыг амжилттай тохируулсан EPERM: Хэрэглэгчийн процесс дохио хүсэж чадахгүй. Сангийн функцүүд int sys_setalarm(clock_t expire_time, int abs_flag); 3.29. SYS_SETGRANT Хүсэлтийн параметр (баримтаар нотолно) Хариулт параметр (баримтаар нотолно) буцаах утга (баримтаар нотолно) 3.27. SYS_SEGCTL Санах ойн хэсэгт болон санах ойн жижиг замд LDT процесс нэмнэ. Салангид хэсгийг шууд залгахад сонгогч ба нөхөгч утга буцааж дуудагдан хэрэглэнэ, бас индекс санах ойн замруу залгах SYS_VIRCOPY кернел дуудлага ашиглана. Биелүүлэх параметр SEG_PHYS: Сегментийн физик хаягийн сан SEG_SIZE: Сегментийн хэмжээ Хариу параметр SEG_INDEX: Санах ойн замруу индекс залгах SEG_SELECT: Сегментийн сонголтыг LDT-д оруулах SEG_OFFSET: Сегментийг нөхөх, Тэг ба 4K багагүй бол хэрэглэгдэнэ. Буцаах утга ENOSPC: LDT болон санах ойн зам хязгаартай нүхээр холбох. OK: Сегментэд бичлэг амжилттай нэмэгдлээ. Функцийн сан int sys_segctl(int *index,u16_t *seg,vir_bytes *off,phys_bytes phys,vir_bytes size); 3.28. SYS_SETALARM Сэрэмжлүүлэг дохио нэгэн зэрэг суулгах эсвэл дахин суулгах. SYN_ALARM сонгоход цагийн хугацаа дуусахад сонордуулга мэдээ одоогийн цагт аргументыг дуудагчруу илгээнэ. Зөвхөн систем процессор нэгэн зэрэг дохио биелүүлж чадна. Биелүүлэх параметр ALRM_EXP_TIME: Энэ дохиоллын хэрэгсэл тодорхой эсвэл харьцангуй дуусах хугацаанд мэдэгдэнэ. ALRM_ABS_TIME: Хэрэв дуусах хугацаа одоогийн цагт харьцангуй бол тэг. Хариу параметр ALRM_TIME_LEFT: Урьдын түгшүүрийн дохиолол дээр дохиолол үлдээх. Буцаах утга OK: Сэрэмжлүүлэг амжилттай суулаа. EPERM: Хэрэглэгчийн процессор сэрэмжлүүлэх хүсэлтийг биелүүлж чадахгүй. Функцийн сан int sys_setalarm(clock_t expire_time, int abs_flag); 3.29. SYS_SETGRANT Биелүүлэх параметр (Баримтаар нотлоно) Хариу параметр (Баримтаар нотлоно) Буцаах утга (Баримтаар нотлоно) Функцийн сан int sys_setgrant(cp_grant_t *grants, int ngrants); 3.30. SYS_SIGRETURN POSIX-ээс гарцаагүй хэлбэрийн дохио буцаана. PM кернел анхааруулсан процесс үргэлжлүүлэн биелүүлэхээс өмнө дараалал руу юм оруулна. SYS_SIGSEND кернел ихэвчлэн стейк дээр бий болсон нөхцөл байдалд дохио өгдөг. Биелүүлэх параметр SIG_ENDPT:Дохио өгсөн процессыг үзүүлнэ. SIG_CTXT_PTR: POSIX- гарцаагүй хэлбэрийн дохиод бий болсон нөхцөл байдлын бүтцийг заах заагч. Буцаах утга OK: Дохиолол барьж зохицуулах үзэгдэл амжилттай биелэлээ. EINVAL: Багц бүтэц эсвэл процессийн дугаар хүчингүй. EFAULT: Багц бүтцийн хаяг хүчингүй эсвэл дохионы хүрээг хуулбарлаж болохгүй . Функцийн сан int sys_sigreturn(endpoint_t proc_nr, struct sigmsg *sig_context); 3.31. SYS_SIGSEND Дохиолол процесс стейк дээр багц бүтэц байршуулахаар РМ –ийг дэмждэг. Кернел бүтэц дуудан авчраад, өгөгдөл арилган хэрэглэгчийн багцруу хуулдаг. Биелүүлэх параметр SIG_ENDPT:Дохио өгсөн процессыг үзүүлнэ. SIG_CTXT_PTR: POSIX- гарцаагүй хэлбэрийн дохиод бий болсон нөхцөл байдлын бүтцийг заах заагч. Буцаах утга OK: Дохиолол барьж зохицуулах үзэгдэл амжилттай биелэлээ. EINVAL: Процессийн дугаар хүчингүй. EPERM:Кернелийн зорилгот дохио өгж чадсангүй. EFAULT: Багц бүтцийн хаяг хүчингүй эсвэл дохионы хүрээг хуулбарлаж болохгүй. Функцийн сан int sys_sigsend(endpoint_t proc_nr, struct sigmsg *sig_context); 3.32. SYS_SPROF Биелүүлэх параметр (Баримтаар нотлоно) Хариу параметр (Баримтаар нотлоно) Буцаах утга (Баримтаар нотлоно) Функцийн сан (Баримтаар нотлоно) 3.33. SYS_STIME Биелүүлэх параметр (Баримтаар нотлоно) Хариу параметр (Баримтаар нотлоно) Буцаах утга (Баримтаар нотлоно) Функцийн сан int sys_stime(time_t boottime); 3.34. SYS_SYSCTL Биелүүлэх параметр (Баримтаар нотлоно) Хариу параметр (Баримтаар нотлоно) Буцаах утга (Баримтаар нотлоно) Функцийн сан (Баримтаар нотлоно) 3.35. SYS_TIMES Кернелийн үүсгэснээс эхлэсэн цагийг ба процесс хүчингүй болох цагийг авна. Биелүүлэх параметр T_ENDPT: Процесс хэрэглэгчийн ба системийн цаг биелүүлэх, үгүй эсэх. Хариу параметр T_USER_TIME: Процессийн хэрэглэгч цаг хэрэгжсэн, хэрэв төгсгөл цэг өгсөн бол ҮГҮЙ. T_SYSTEM_TIME: Процессийн системийн цаг хэрэгжсэн, хэрэв төгсгөл цэг өгсөн бол ҮГҮЙ. T_BOOT_TICKS: MINIX үүсгэснээс (одоогийн цаг) хойш дохиоллын дугаар. T_BOOTTIME:Секунд дэх эхлэлийн цаг. Буцаах утга OK: Үргэлж амжилт оллоо. Функцийн сан int sys_times(endpoint_t proc_nr, clock_t *user_time, clock_t *system_time, clock_t *uptime); 3.36. SYS_TRACE Өгсөн процессийн хяналтыг эсвэл шалгалтыг биелүүлнэ. Систем дуудах ptrace() дэмжигдсэн командаар дебаг хийнэ. Биелүүлэх параметр CTL_REQUEST: Хүсэлтийг хуулбарлана. • T_STOP: Процесс зогсооно. • T_GETINS: Зааврын завсраас утга буцаана. • T_GETDATA: Өгөгдлийн завсраас утга буцаана. • T_GETUSER: Хэрэглэгчийн процессийн хүснэгтээс утга буцаана. • T_SETINS: Зааврын завсраас утга авна. • T_SETDATA: Өгөгдлийн завсраас утга авна. • T_SETUSER: Хэрэглэгчийн процессийн хүснэгтээс утга авна. • T_RESUME: Хэсэг завсарлаад дахин биелүүлэх • T_STEP: Битээр нь хуулж авна. CTL_ENDPT:Процессийн дугаар хуулбарлагдсан. CTL_ADDRESS:Жинхэнэ хаяг процессийн завсарт хуулбарлагдсан. CTL_DATA: Өгөгдөл бичигдсэн. Хариу параметр CTL_DATA: Өгөгдөл буцааж өгсөн. Буцаах утга OK:Хуулах үйлдэл амжилттай боллоо. EIO: Суулгах эсвэл авах утга бүтэлгүйтлээ. EINVAL: Хуулах хүсэлт дэмжигдсэнгүй. PERM:Зөвхөн хэрэглэгчийн процесс хуулагдлаа. Функцийн сан int sys_trace(int request, endpoint_t proc_nr, long addr, long *data_ptr); 3.37. SYS_UMAP Жинхэнэ хаягийн зам физик хаягруу ба физик хаяг утга буцаана. Жинхэнэ хаяг LOCAL_SEG, REMOTE_SEG эсвэл BIOS_SEG –д байна. Байтууд хаягдан шилжсэнээр сегментийн дотор ихэвчлэн бүтэлгүйтсэн эсэхийг магадлана. Биелүүлэх параметр CP_SRC_ENDPT: Процессийн дугаар хаягтай хамааралтай. CP_SRC_ADDR: Сегментийн дотор шилжсэн CP_NR_BYTES: эхэлсэн байтын дугаар Хариу параметр CP_DST_ADDR: Физик хаягийн зурагжуулалт амжилттай. Буцаах утга OK: Хуулах үйл амжилттай хийгдлээ. EFAULT: Жинхэнээс физик хаяглалт бүтэлгүйтллээ. EINVAL: Элментийн төрөл эсвэл процессийн дугаар буруу Тайлбар BIOS_SEG дотор тэг хаяг байвал EFAULT –ийг буцаана, тэгээр эхэлсэн бол BIOS үнэн зөв хаягийг заан засварлана. Функцийн сан int sys_umap(endpoint_t proc_nr, int seg, vir_bytes vir_addr, vir_bytes count, phys_bytes *phys_addr);